1. Field of the Invention
The invention relates to the block code error correction and, more particularly, to a block code error correcting system and method for a compact disk (CD) drive.
2. Description of Related Art
Data for transferring and storing in a digital versatile disk (DVD) system is easily affected by external factors (such as a scratch or dirty fingerprint on a DVD) or the misalignment of an access equipment to thus damage data. Many techniques of coding have been developed to reduce the possibility of data error. Error Correction Code (ECC) is a generic term for error coding correction, which adds redundancy information to original data to form codeword for writing in a storage device later. When the codeword stored in the storage device is read, it is important to be able to convert the codeword back to the original data. With the redundancy information in the codeword, a reading equipment can realize the original data better and thus obtain data more reliable after a special decoding procedure is performed.
In addition to assuring accurate data for the development object of ECC, a low-complicated decoder is another important issue of system implementation. In general, block code decoding is relatively easy and thus is commonly used in disk type storage. Among various ECCs, Reed-Solomon code is known to have better error correction capability, wherein algebraic structure implied in codeword thereof can be implemented in a decoder easily. Because a DVD has relatively higher physical density on data storage and thus more data stored on the DVD is affected in case of damage, a DVD system needs enhanced capability of error correction. In order to obtain good error correction performance and low-complicated decoder, general DVD systems adopt Reed-Solomon Product Code (RSPC).
FIG. 1 is a coding block format according to the DVD specification. In FIG. 1, a data frame is a matrix with a width of 12 bytes and a length of 172 bytes, and an error correction code (ECC) block is a matrix with a width of 208 bytes and a length of 182 bytes, which is formed by stacking up 16 data frames plus corresponding redundancy blocks.
The decoding procedure is opposite to its coding procedure. The row parities are used to decode corresponding rows first and then the column parities are used to decode corresponding columns. Row coding/decoding blocks closer to communication media are referred to as inner codes and their parities are referred to as an inner parity (PI) each. On the other hand, column coding/decoding blocks are referred to as outer codes and their parities are referred to as an outer parity (PO) each.
FIG. 2 is a block diagram of a typical block code error correcting system in a CD reading system. As shown in FIG. 2, a data slicer 210 samples an RF signal according to a sampling clock T and produces an eight-to-sixteen modulation signal, i.e., EFM+ signal. When the RF signal has a significant jitter, an error EFM+ signal is produced. A demodulator 220 produces an error codeword according to the error EFM+ signal and sends the error codeword to an ECC decoder 240, which causes a misjudgement to further lead the ECC decoder 240 to have a poor decoding efficiency. Therefore, it is desirable to provide an improved block code error correcting system to mitigate and/or obviate the aforementioned problems.